Computer Science
Planning and Installing a System
Legacy systems and compatibility issues
- Legacy system: Any system technology method or application program that is older than the current version
- May or may not be supported/available for purchase
Mergers
- If companies/organizations merge across international borders there may be issues like:
- Software compatibility
- Language differences
- Time zone differences
- Workforce cultural differences
Exam Tip
always discuss in terms of computer science and not business.
Implementation of systems
Local software vs Remote software
- Two models for distributing software: Local (On premise) and Remote (Cloud-based, SaaS)
- Local: Installed on a computer (e.g. DVD installation)
- Remote: Accessed via the internet (e.g. PlayStation Store)
SaaS (Software-as-a-Service)
- Software distribution model where a third-party provider hosts applications over the internet
Benefits of being "Cloud-based"
- SaaS minimizes IT costs
- Reduction in staff workload
- Fast recovery from service outages
Drawbacks of SaaS
- Software integration headaches
- Security concerns (identity and access management)
- Government compliance regulations for storing customer data
Installation processes
4 installation methods
- Direct changeover
- Parallel running
- Pilot running
- Phased conversion
Direct Changeover
- Stop using the old system and start with the new one
- Advantages: Minimal time and effort
- Disadvantages: No fallback if new system fails
Parallel running
- Run both systems side by side until the new system works well
- Advantages: Backup with the old system
- Disadvantages: Expensive and time-consuming
Pilot running
- Test the system with a small subset of the organization
- Advantages: Trial system, fewer risks for small group
- Disadvantages: No backup for pilot group
Phased conversion
- Introduce the new system in phases, replacing parts of the old one
- Advantages: Allows gradual training
- Disadvantages: No fallback for converted sections
Data migration
Moving data between systems
Incompatible file formats
- Software versions might not be compatible
Data structure differences
- Moving data from one format to another can cause issues
Validation rules
- If validation rules differ between systems, data can be lost
Testing
- Functionality testing
- User experience testing
- Performance and load testing
- Compatibility testing
- Security testing (PenTesting)
Static vs Dynamic testing
- Static: Reviews or inspections without running the code
- Dynamic: Running code with test cases
Alpha vs Beta testing
- Alpha: Performed by internal employees
- Beta: Performed by clients or end-users
Black-box vs White-box testing
- Black-box: Functional testing without internal knowledge
- White-box: Testing with knowledge of internal code
User acceptance testing
- Ensures the system meets the end user's needs
Automated testing
- Automated software tools are used to perform testing